The present invention relates to a recorded information reproducing apparatus which uses a medium such as CD-ROM (Compact Disk-Read Only Memory), DVD (Digital Versatile Disk, Digital Video Disk), DVD-ROM, DVD-RAM, CDI (Compact Disk-Interactive), DVI (Digital Video Interactive) or MOD (Magneto Optical Disk), an information recording/reproducing apparatus including such recorded information reproducing apparatus, and a disk drive which is a generic term for those apparatus, as well as a computer in which such disk drive is mounted, and also relates to an art which facilitates rewriting of a program for controlling a recorded information reproducing operation or the like of, for example, a CD-ROM drive mounted in a personal computer as standard equipment, and which is useful for applications to improve the reliability of rewriting.
Disk drives such as CD-ROM drives have rapidly spread as recorded information reproducing apparatus to be interfaced with personal computers, game machines or the like. Because such CD-ROM drives or the like are based on standards for audio CD players, their data transfer speeds and data access speeds require to be increased, as compared with the audio CD players. In addition, as opposed to the audio CD players which can use processing such as interpolation of data or holding of previous values if data error cannot be corrected, such processing is meaningless to data for personal computers and it is necessary to increase the data error correcting capabilities of the CD-ROM drives.
To increase data access speed, such a CD-ROM drive or the like has adopted the art of reading and reproducing-recorded information while rotating a CD-ROM disk at a speed, for example, twice or four times as fast as its normal speed, as by raising the frequency band of a preamplifier for amplifying information read from the disk, reinforcing a pickup servo circuit, or increasing the operational speed of a digital signal processing circuit. Furthermore, the art of adding a quadruple error-correcting code to a double error-correcting code has been implemented to improve the error correcting capability of such a CD-ROM drive.
However, today, the fact is that the speed of reproduction of recorded information is being changed to a far faster speed within a short period, as represented by CD-ROM drives. In the past, the reproducing speed was changed from standard speed (the linear velocity of an audio CD during reproduction) to double speed and then from double speed to quadruple speed, in a cycle of two or more years, but today, the reproducing speed is being rapidly changed from sextuple speed to octuple speed or more in a cycle of several months.
In such a situation, each time the reproducing speed is increased, the manner of circuit control, circuit constants or the like must be changed in a short period so as to change the frequency band or the gain of the preamplifier, to reinforce the pickup servo circuit, to increase the operational speed of the digital signal processing circuit, to optimize error-correcting processing, and so on.
If microcomputers are to be used for recorded information reproduction control in CD-ROM drives or the like, their recorded information reproduction control programs (including constant tables) must be changed. If such a program is to be provided in the form of a mask ROM, a mask pattern cannot be changed without a delay in the above-described extremely short cycle of change in the reproducing speed, i.e., an extremely short product cycle.
Japanese Patent Laid-Open No. 6-187141 discloses an arrangement in which a processing program for reproducing recorded information from a disk or recording information on a disk in a magneto optical disk drive is stored in a rewritable ROM to facilitate the bug-fixation or upgrading of the processing program.
Specifically, the magneto optical disk drive includes a SCSI (Small Computer System Interface) controller connected to a host and a driver connected to this controller, and firmware (processing program) for the controller is stored in a rewritable ROM and firmware for the driver is stored in an EEPROM (Electrically Erasable and Programmable ROM). If the firmware for the controller is to be rewritten, the host transfers the firmware for the controller to a buffer memory in the controller, and also transfers a write program stored in the ROM in the controller to a RAM in the controller, and then issues a command to the controller. When receiving the command, the controller writes the contents of the ROM with the firmware for the controller stored in the buffer memory, in accordance with the rewrite program held in the RAM. At the same time as this rewriting, the write program stored in the ROM is also updated. If the firmware for the driver is to be rewritten, the host transfers a rewrite program for the driver to the RAM of the controller via the buffer memory, and also transfers the firmware for the driver to the buffer memory of the controller. Then, a CPU of the controller is made to execute the rewrite program stored in the RAM. The CPU of the controller sets the firmware for the driver and addresses in the RAM of the driver in accordance with the rewrite program, and then issues a command to the CPU of the driver. The driver has a mask ROM which supports communication and basic commands, and the CPU of the driver which has received the command executes the program of the mask ROM and rewrites the contents of the EEPROM with the firmware for the driver stored in the RAM.
However, in the above-described arrangement which updates the rewrite program stored in the ROM, together with the firmware for the controller during the rewriting-of the firmware for the controller, if an abnormality occurs and the rewrite program in the RAM is broken during the rewriting of the ROM, it is expected that it takes time to recover the controller to the normal state.
In the arrangement in which a rewrite control program for the EEPROM and an interface program for rewriting are stored in the mask ROM separate from the EEPROM which holds the firmware for the driver, the mask ROM is needed in addition to the EEPROM, so that the physical scale of a system is increased. In addition, although the mask ROM is externally attached to a microcomputer or a microprocessor which is a semiconductor integrated circuit, the amount of logic required for chip select control and the like over the externally attached memory increases, and in this respect as well, it is expected that the physical scale of the disk drive increases.
In the above-described prior art, the firmware for the driver and the firmware for the controller are separately stored in the rewritable ROM and the EEPROM. The firmware for the driver is a control program which corresponds to the characteristics of a servo control circuit and the like included in the driver. The firmware for the controller is a control program for realizing interface specifications which correspond to the host. The reason why the processing programs for the magneto optical disk drive are separately stored in the rewritable ROM and the EEPROM is that the control program for the controller can be executed in conformity to interface specifications convenient for a driver adjusting operation during the manufacture of the magneto optical disk drive, and after the control program for the driver is set, the control program for the controller can finally be rewritten according to interface specifications intended for the desired host. This is intended to simplify adjustment operation and product control for the magneto optical disk drive. However, the present inventor has made it apparent that in the arrangement in which the control program for the controller and that for the driver are separately stored in the ROM and the EEPROM, the sequence of rewriting of the control program is complicated and it takes time to rewrite the control program.
The rewrite program for the ROM of the controller is held in the ROM itself, and the rewrite program for the EEPROM of the driver is held in the mask ROM. As a result, if the CPU runs away during the operation of the magneto optical disk drive, the rewrite program stored in the magneto optical disk drive itself is undesirably executed, so that the contents of the ROM or the EEPROM may also be broken.
In order to facilitate the operation of changing the processing program and the like of a disk drive, the present inventor performed further investigations from the viewpoint of the disk drive itself and from the viewpoint of an interface with a host.
In the first place, the present inventor investigated a case in which a microcomputer in which an electrically erasable and programmable nonvolatile memory was built was used for control of the disk drive, and an application program for the disk drive and an input control program for controlling the fetch of a downloaded application program were stored in the nonvolatile memory and, if necessary, a rewrite control program was also stored in the same. In this case, the application program is a program which includes a processing program for disk access (access control program) and an external interface processing program for the disk drive (interface processing program).
In the above case, the present inventor made it apparent that there still were several problems to be solved.
One problem is that if the disk drive itself holds the write control program and the input control program, the write control program and the input control program must not be unrecoverably broken or lost during the writing of the application program. If the write control program or the input control program is broken or lost, it becomes difficult to subsequently rewrite the application program.
Another problem is that the rewrite control program and the input control program which are held in the nonvolatile memory of the microcomputer itself must be highly reliable.
In the second place, the present inventor investigated an art which makes it possible to easily change the application program and the like, in view of a situation in which computers such as personal computers are provided with disk drives as standard equipment.
Today, almost all hard disk interfaces for computers such as personal computers (hereinafter also referred to simply as PCs) conform to IDE (Integrated Device Electronics), and PC (Personal Computer) boards have a plurality of (for example, four) IDE interface ports. A description of IDE is given in NIKKEI ELECTRONICS, pages 67-96 (published by Nikkei Business Publications, Inc., Jun. 6, 1994). The term xe2x80x9cIDExe2x80x9d used herein includes not only IDE but also a concept such as a so-called enhanced IDE which is also called xe2x80x9cFAST ATAxe2x80x9d, xe2x80x9cEnhanced IDExe2x80x9d or xe2x80x9cExtended IDExe2x80x9d In the IDE interface specifications, the length of an interface cable is extremely limited, and the interface cable can normally be used as an interface with a peripheral mounted in the case of a PC. Today, almost all PCs have CD-ROM drives in their expansion slots or drive bays as standard equipment, but in the past, CD-ROM drives were generally externally attached as an option. For this reason, interface specifications for CD-ROM drives initially developed in conformity to SCSI or SCSI2.
However, the SCSI interface is generally regarded as an optional interface, and if a CD-ROM drive is to be connected via the SCSI interface, a SCSI interface board or a SCSI interface PC card are especially needed, so that costs increase as a whole. In general, IDE controller LSIs (Large Scale Integrated circuits) are inexpensive compared to SCSI controller LSIs.
To cope with this problem, ATAPI (ATA Packet Interface) has been adopted, and interfaces with PC boards have been realized in conformity to the IDE specifications, and commands conforming to SCSI or SCSI2 have been adopted. Owing to ATAPI, a CD-ROM drive can be mounted in a PC without the need for a dedicated special interface circuit, and furthermore, commands conforming to SCSI which was used in the age of SCSI interface as a standard command set can be used without modification. Specifically, ATAPI makes it possible to adopt a new interface such as enhanced IDE while inheriting the past software property for CD-ROM drives, and furthermore makes it possible to realize a cost reduction. Accordingly, today, almost all interface specifications which are adopted by CD-ROM drives mounted in PCs as standard equipment are the ATAPI interface specifications (extended specifications of IDE).
Many PC makers use ATAPI interfaces to mount CD-ROM drives in PCs as standard equipment, but in the present situation in which the cycle of change of CD-ROM reproducing speed is extremely short, as the period of evaluation of CD-ROM drives becomes longer, it becomes more difficult for PC makers to efficiently market PCs provided with CD-ROM drives of faster reproducing speed.
There are several causes which are expected to increase the period of evaluation of a CD-ROM drive in a PC maker.
In first place, since an ATAPI CD-ROM drive is mounted in a PC as standard equipment, the case of the PC needs to be decomposed when the CD-ROM drive is to be removed.
In the second place, because of the extremely short cycle of change of reproducing speed, the period required for a drive maker to develop a processing program for a CD-ROM drive becomes short, and it is expected that bug fixation is frequently performed.
In the third place, because of the extremely short cycle of change of reproducing speed, a drive maker cannot immediately improve the performance of the application program, and needs to send only hardware to a PC maker in advance and later send the application program to the PC maker on stepwise fashion, thereby finishing a CD-ROM drive. For example, in the case of a 24xc3x97CD-ROM drive, the following stepwise process is performed: the drive maker sends to the PC maker an application program for a 20xc3x97 reproducing speed which can run on the same hardware, then sends an application program for a faster 24xc3x97 access speed to the PC maker, and finally sends a high-performance application program in which logically insufficient points are improved or tuned. Otherwise, in the case of the 24xc3x97CD-ROM drive, the drive maker sends an application program for a minimum 1xc3x97 reproducing speed and a maximum 24xc3x97 reproducing speed to the PC maker, and then stepwise finishes an application program for an intermediate speed and provides it to the PC maker.
In the fourth place, if a CD-ROM drive which adopts the ATAPI interface is to be mounted in a PC as standard equipment, the CD-ROM drive is prepared as a device dedicated to a particular PC, so that the contents of the application program of the CD-ROM drive tend to be increasingly individualized for each PC type or PC maker. For example, many drive makers deliver standard-speed CD-ROM drives to PC makers as product samples, but if the respective PC makers have different drive specifications, the drive makers need to prepare additional drive specifications. One example of specifications which differ among PC makers is a reproducing control method for a disk which suffers from eccentricity, surface unevenness or the like. For a disk which suffers from eccentricity or surface unevenness, a CD-ROM drive normally automatically decreases its reproducing speed to a level at which the CD-ROM drive can read the disk. However, when to increase the reproducing speed from the decreased-level differs among the specifications of PC makers, and there is a case in which the reproducing speed is restored when the next read command is received, or a case in which the reproducing speed is not increased with respect to such a disk. Further, there is a case in which the reproducing speed is restored by using a vendor unique command. Otherwise, there is an art which provides reproduction control on a disk by combining linear velocity constant control and angular velocity constant control, and the linear velocity constant control and the angular velocity constant control are switched therebetween in various manners.
In addition, after a PC which has an ATAPI CD-ROM drive as standard equipment has been provided to an end user, a situation in which the CD-ROM disk cannot reproduce all disks may occur as the result of an improvement in reproducing speed or the spread of CD-R (Compact disc-Recordable). In this case as well, it is desirable that the end user can efficiently update the application program.
As is apparent from the above description, in the situation in which the cycle of change of reproducing speed in a CD-ROM drive is extremely short and a CD-ROM drive is mounted in a personal computer as standard equipment, a CD-ROM drive maker must prepare application programs which have different specifications for individual PC makers, in a short period. Each PC maker can evaluate a CD-ROM drive in a short period, and absolutely needs to efficiently evaluate the CD-ROM drive on a PC while receiving a bug-fix of the application program from the CD-ROM drive maker throughout an evaluation period. Accordingly, there are extremely great demands for efficient modification of application programs of CD-ROM drives.
An object of the present invention is to make it possible to efficiently modify the whole or part of an application program which includes processing programs for disk access control and interface control of a disk drive.
Another object of the present invention is to provide a disk drive which is capable of easily rewriting the whole or part of the application program without increasing the physical scale of the disk drive.
Yet another object of the present invention is to provide a disk drive which is capable of improving the reliability of rewriting of the application program.
Yet another object of the present invention is to provide a disk drive which makes it possible to perform prior mass production of hardware such as recorded information reproducing apparatus or disk drives and subsequently modify the whole or part of the application program within a period immediately before delivery, thereby enabling a reduction in the period of development of the disk drive.
Yet another object of the present invention is to provide a disk drive which can be expanded into various kinds of products based on the same hardware.
Yet another object of the present invention is to provide a computer such as a personal computer which makes it possible to modify the whole or part of the application program of a recorded information reproducing apparatus or a disk drive even if the disk drive is incorporated in the computer (i.e., without removing the disk drive).
An additional object of the present invention is to make it possible to efficiently market a computer in which a disk drive having a fast reproducing speed is incorporated as standard equipment, even in a situation in which the cycle of change of reproducing speed is extremely short.
The above and other objects and novel features of the present invention will become apparent from the following description given herein.
A microcomputer which includes an electrically erasable and writable nonvolatile memory in a built-in form is adopted for control of a disk drive, and the nonvolatile memory has an application program area which holds an application program including a processing program for disk access and interface control, and a reboot program area which holds a reboot program to be used for updating the whole or part of the application program.
More specifically, a disk drive comprises access means for accessing a disk which is rotationally driven, an interface circuit connected to the access means and interfaced with an outside, and a microcomputer which controls an operation of the access means and which is connected to the interface circuit. The microcomputer includes one semiconductor substrate having an electrically erasable and programmable nonvolatile semiconductor memory and a central processing unit which accesses the nonvolatile semiconductor memory. The nonvolatile semiconductor memory has a reboot program area and an application program area in its memory area. The application program area has an area which stores an application program to be executed by the central processing unit to control the access means and the interface circuit. The reboot program area has an area which stores a reboot program which causes the central processing unit to execute processing for rewriting the application program area. The central processing unit executes the reboot program to rewrite the application program area in whole or part, in response to a rewrite command for the application program area which is supplied to the interface circuit from the outside, or executes the application program stored in the application program area to control the access means and the interface circuit, in response to a disk access command supplied to the interface circuit from the outside.
The application program is an operational program which includes an access control program such as a recorded information reproducing control program and an interface control program for control of an external interface of the disk drive. The access control program performs control such as speed control of a disk and signal processing according to the speed of reproduction of recorded information. The interface control program performs control of an external interface for disk access. The rewriting of the application program area may be directed to the whole or part of the application program (both or either one of the access control program and the interface control program). If the application program includes a plurality of program modules (for example, a plurality of subroutines), it is also possible to rewrite part of the program modules. For example, when the application program is to be rewritten (updated), only a modified one of the access control program and the interface control program may be rewritten.
In accordance with the above-described features, even after the microcomputer has been mounted in the disk drive, the application program can be written into the nonvolatile memory built in the microcomputer, or the whole or part of the application program can be rewritten. Accordingly, it is possible to promptly or timely cope with a change in the reproducing speed of the disk drive, merely by rewriting the whole or part of the application program with the required modification according to an improvement in the reproducing speed at the time of a change in the reproducing speed or the like which will occur in extremely short cycles in the future.
The area of the nonvolatile memory to be rewritten is the application program area. Since the reboot program area is not an area to be rewritten, even if an abnormality occurs during the rewriting operation of the nonvolatile memory, the operation of rewriting the application program area can be again started immediately after the reboot program is executed, whereby recovery from an abnormal state during rewriting does not take much time. Since a processing program to be rewritten in the disk drive is only the processing program stored in the nonvolatile memory, it is possible to simplify control procedures for rewriting and hence shorten the time required for rewriting. Furthermore, since the nonvolatile memory which holds the processing programs for the disk drive is built in the microcomputer which is a semiconductor integrated circuit, an increase in the physical scale of the disk drive can be minimized to obtain the above-described effects.
The reboot program can include an input control program, a rewrite control program and a transfer control program. The central processing unit which responds to the rewrite command provides control to execute the input control program and fetch into a buffer RAM or the like the application program which is, in whole or part, supplied to the interface circuit from the outside, execute the transfer control program and transfer the rewrite control program from the reboot program storing area to a built-in RAM of the microcomputer. The central processing unit executes the rewrite control program transferred to the built-in RAM and writes the application program fetched in whole or part, into the application program area. According to this control, when the application program area is to be updated, the host needs only to transfer to the disk drive the whole or part of the application program to be written into the application program area subsequently to a rewrite command for the nonvolatile memory, and does not need to transfer the write control program, whereby it is possible to further reduce the processing time required to update the application program area.
The reboot program can include an input control program and a transfer control program. The central processing unit which responds to the rewrite command executes the input control program and fetches the application program and the rewrite control program which are supplied to the interface circuit from the outside, and executes the transfer control program and transfers the fetched rewrite control program to the built-in RAM of the microcomputer. The central processing unit executes the rewrite control program transferred to the built-in RAM and writes the application program fetched in whole or part, into the application program area. Accordingly, since the nonvolatile memory does not hold the rewrite control program, even if the central processing unit runs away and undesirably executes the program stored in the nonvolatile memory, there is no risk that the nonvolatile memory device is erroneously rewritten.
The reboot program further includes an area which stores a vector table and a reset processing program. The central processing unit, in response to a reset instruction, proceeds to execution of the reset processing program by referring to the vector table, and, during the execution of the reset processing program, determines whether the central processing unit is in a forced reboot state capable of responding to the rewrite command. When in the forced reboot state, the central processing unit proceeds to execution of the reboot program after receiving an input of the rewrite command. When not in the forced reboot state, the central processing unit proceeds to a state of being able to execute the application program stored in the application program area. Even if an abnormality occurs during the rewriting of the nonvolatile memory, if reset is performed to specify the forced reboot mode, the central processing unit can easily recover from the abnormality and return to the processing of rewriting the nonvolatile memory. In this respect as well, the processing time required to update the application program area can be shortened.
The application program area can have in a memory area thereof a sum storing area which stores a sum of information held in another memory area, and the reboot program area can further have an area which stores a vector table and a reset processing program. The central processing unit, in response to a reset instruction, proceeds to execution of the reset processing program by referring to the vector table, and, during the execution of the reset processing program, determines whether the central processing unit is in a forced reboot state capable of responding to the rewrite command. When in the forced reboot state, the central processing unit proceeds to execution of the reboot program after receiving an input of the rewrite command. When not in the forced reboot state, the central processing unit determines whether the sum stored in the sum storing area coincides with a sum of the information held in the aforesaid other memory area. If it is not determined that both sums coincide with each other, the central processing unit proceeds to execution of the reboot program after receiving an input of the rewrite command. If it is determined that both sums coincide with each other, the central processing unit proceeds to a state of being able to execute the application program stored in the application program area. Accordingly, if a program in the application program area is undesirably rewritten by an abnormality of the host or the disk drive, the operation of the central processing unit can be made to self-diagnostically proceed to the state of being able to rewrite the application program area, merely by being reset, even if the forced reboot mode is not specified. Accordingly, it is possible to prevent the malfunction of the disk drive.
As the nonvolatile semiconductor memory, a flash memory having a plurality of memory blocks each of which constitutes a collectively erasable unit can be adopted. The operation of erasing the application program area can be made efficient by assigning the reboot program area and the application program area to mutually different memory blocks.
It is desirable that the reliability of initial writing of a program into the reboot program area be good in terms of the nature of the program. To guarantee such reliability, it is possible to write the program into the reboot program area in the process of manufacturing the microcomputer.
To completely prevent undesirable erasure of the rewrite program, means for inhibiting rewrite of the reboot program area may be provided.
The ATAPI interface circuit can be adopted for the interface circuit. According to this arrangement, it is possible to easily use a new interface such as enhanced IDE while inheriting the past accumulated software property for disk drives which conform to the SCSI interface specifications or the like, and furthermore, it is possible to realize a cost reduction.
A computer having such disk drive comprises a main board including a microprocessor and a peripheral interface controller which are connected to a bus, and the interface circuit of the disk drive is connected to the peripheral interface controller. If a disk drive is to be mounted as standard equipment in a computer such as a personal computer which includes, for example, a PCI bus as the bus and an IDE interface controller as the interface controller, the ATAPI interface circuit can be adopted as the interface circuit of the disk drive. In almost all cases, if the disk drive is to be mounted as standard equipment in the computer, a main board and the disk drive are incorporated in one case.
During the rewriting of the application program area of the disk drive, the main board of the computer serves as a host, and the application program of the disk drive can be rewritten in whole or part via the host. Accordingly, it is possible to change the application program of the disk drive by using the microprocessor without removing the disk drive from the computer.
Accordingly, in the present situation in which the cycle of change of reproducing speed in the disk drive is extremely short and the disk drive is mounted in the computer as standard equipment so that a drive maker must prepare application programs for the disk drive, which have different specifications for individual computer makers, a computer maker can evaluate the disk drive which is incorporated in the computer, while receiving a bug-fix or an additional function relative to the application program from the drive maker throughout the period of evaluation of the disk drive. As described previously, the disk drive is provided with means such as efficient rewriting processing for the application program area and the capability to rapidly recover from an abnormality during rewriting processing and return to the rewriting processing, so that, throughout the period of evaluation of the disk drive, the computer maker can efficiently reinstall a modified application program in the nonvolatile memory built in the microcomputer. Accordingly, the computer maker can shorten the period of evaluation of disk drives.
Thus, in the present situation in which the cycle of change of reproducing speed in the disk drive is extremely short, the computer maker can efficiently market a computer which is provided with a disk drive having a faster reproducing speed.
The application program which includes the access control program such as a recorded information reproducing control program and the interface control program can be supplied from a company which manufactures or sells a disk drive to a computer maker or a company which sells a computer, or from the computer maker or the company which sells a computer to an end user of the computer, through communications means such as the Internet. Accordingly, it is possible to instantaneously send the application program to the computer maker, the company which sells the computer, or the end user of the computer. Accordingly, if the disk drive or the computer provided with the disk drive is used, the function of the drive or the computer, such as recorded information reproducing speed, can be immediately upgraded from an older version on a user side. In other words, the functions of products can be easily changed on the user side.